package com.company.netty.demo.SelectorDemo;


import java.nio.channels.Selector;

/**
 * course: 21
 * Selector简单介绍：
 * 1、select是非阻塞IO，用一个线程管理多个channel即可以用一个线程处理多个客户端连接；
 * 2、selector能够检测多个注册的通道上是否有事件发生（多个channel可以注册到一个selector上，此处采用观察者模式），如果有事件发生，selector会自动与channel通讯；
 * 3、只有在链接真正有读写事件发生时，才会进行读写，就大大降低了系统不必要的线程开销
 * 4、避免了多个线程之间的上下文切换导致的系统开销
 *
 *
 * 注意事项：
 * 1、NIO中的ServerSocketChannel功能类似ServerSocket,SocketChannel功能类似Socket
 * 2、selector相关方法：
 *      selector.select()//阻塞
 *      selector.select(1000)//阻塞1000ms,在1s内范围
 *      selector.wakeup()//唤醒selector
 *      selector.selectNow()//不阻塞，立马返回
 *
 * */

public class Selector01 {

    public static void main(String[] args) {
        Selector selector = null;
    }
}
